Keyboards of various configurations are commonly used with various types of digital computers and other electronic devices. The configurations of such keyboards are generally governed by the specific application in which they are used. Depending upon the application, a keyboard may be as simple as a 10-key numerical keypad or as complex as a full function 117 key keyboard. Each of these configurations is oriented toward a particular class of users. For example, the numerical keypad may be utilized in calculator type applications oriented toward number manipulation, whereas the full function keyboard may be used to control a wide variety of desired functions. Alternatively, some applications require a keyboard with more keys than the minimum ten keys, but less than the full function keyboard.
However, due to the expense of customizing a keyboard, a user will often be required to utilize the full function keyboard in an application where only a smaller number of keys are required. For example, in some industrial applications, only a certain number of keys may be required to perform the necessary functions such as beginning operation, terminating operation and responding to prompt instructions. The number of keys required for such an industrial application may range anywhere from one to fifteen or more, depending upon the amount of control that an operator has over the system. With present systems, the operator must be provided a full function keyboard or a customized keyboard to perform these operations. If the full function keyboard is utilized, the operator is provided with unnecessary keys, which may cause confusion. Although such full function keyboards are relatively expensive, they are often less expensive than a customized keyboard with a unique orientation of keys.
Once a keyboard has been provided for a specific application, the location of the keys on the keyboard is usually predefined such that the operator is restricted to one area of the keyboard for a given function. For example, if an Arabic numeral is to be entered on a full function keyboard, a key will have to be selected from the top row of keys which is normally allocated for that function. This is the result of keyboard standardization which dictates the location of the keys for a given function. Each of the keys has a predefined output which is termed an ASCII character. A conventional computer or processing system recognizes the ASCII codes and performs the functions associated therewith. Most systems are geared towards recognizing a given ASCII code as associated with a given numeral, letter or other function. As a result of standardization, each of these given numerals, letters or functions is located at a predefined location.
To provide versatility for a given keyboard application, some computer manufacturers have developed software which recognizes a given key depression as a "function key". That is, the ASCII code associated with a given key causes the software of a given system to enter into a specified subroutine. The subroutine defines the function and is activated in response to the key depression and the corresponding output of the particular ASCII code. These function keys are provided to allow an operator to arbitrarily execute a desired special function with only a single depression of the key. Conventionally, these function keys are usually located at a predefined location on the keyboard, which location is not alterable. This is a disadvantage in that a user cannot define a particular key at a particular location to execute a given function, although the particular location would be advantageous for the situation.
The computer which interfaces with a keyboard possesses a command language to allow it to interface with the keyboard or any other peripheral device. The standard command language utilizes the ASCII characters which are stored in a table and correspond to particular functions. For example, depression of the key for the letter "A" outputs an ASCII character having a predetermined value. This value is looked up in the table and the appropriate function performed, such as displaying an "A". By reprogramming the computer, the ASCII character can correspond to a different function. However, this is undesirable as the look up table for the ASCII character or other command languages are seldom accessible, and, for closed code systems, are never available.
In view of the above disadvantages with standardized keyboards, there exists a need for a reconfigurable keyboard in which various functions can be associated with given keys at select key locations and these functions output to correspond to the command language of a given host device. In addition, it is desirable that the number of keys provided on a keyboard and the location thereof can be easily and inexpensively altered at the discretion of the user.